/**
 * @author 00103943
 * @date 2025-03-27 08:48
 * @package top.ytazwc.rpc.transport.netty.codec
 * @description 自定义协议
 */
package top.ytazwc.rpc.transport.netty.codec;

/*
  设计协议，定义需要传输的类型数据， 并规定每种类型的数据占用的字节，在接收到二进制数据后，就可以进行解析
  1. 魔法数：4个字节；主要是为了筛选来到服务端的数据包，对收到的数据包进行判断是否为有效数据包
  2. 序列化类型：1个字节；标记序列化方式；
  3. 消息长度：4个字节；标记传递消息的长度，可以在运行时获得；
  4. 压缩类型：1个字节，标记压缩器类型；
  5. 版本：1个字节 记录版本
  6. 消息类型：1个字节，记录消息类型
  7. 请求id：4个字节
  及一共占用 16 个字节；大致分布如下所示：
 */

/*

 *   0     1     2     3     4        5     6     7     8         9          10      11     12  13  14   15 16
 *   +-----+-----+-----+-----+--------+----+----+----+------+----------- +-------+----- --+-----+-----+----+---+
 *   |   magic   code        |version | full length         | messageType| codec |compress|    RequestId       |
 *   +-----------------------+--------+---------------------+----------- +-------+--------+--------------------+
 *   |                                                                                                         |
 *   |                                         body ...                                                        |
 *   |                                                                                                         |
 *   |                                                                                                         |
 *   +---------------------------------------------------------------------------------------------------------+
 *  4B  magic code（魔法数）    1B version（版本）      4B full length（消息长度）    1B messageType（消息类型）
 *  1B compress（压缩类型）     1B codec（序列化类型）    4B  requestId（请求的Id）


 */

